Bien que tout soit expliqué dans batch creator, mon soft telechargeable
sur http://www.ilsa.fr.st j'ai tenu a mettre ce vieux tuto de moi qui a plus à pas
mal de personnes
1) echo
les bases...
la commande "echo" à plusieurs utilités
echo permet d'afficher du texte exemple :
echo salut
ceci affichera
c:\windows\Bureau>echo salut
salut
mais qu 'est ce que ce c:\windows\Bureau qui vien de s'afficher ???!
c 'est le prompt, retenez juste son nom, cela ne vous servira que... plus
tard
il y a un moyen pour que juste "salut" soit affiché
c 'est une commande qui ce présente sous cette forme : "echo
off"
donc si vous ecrivez :
echo off
echo salut
il S 'affichera
c:\windows\Bureau>echo off
salut
et la, désolation... le prompt s'affiche encore, suivi de echo off...
MAIS pour ce qui en suit il n'y sera pas présent, ni les commandes!
(il ne s'affichera pas "echo salut" mais "salut")
mais comment faire pour que le prompt et "echo off" ne s'affiche
pas?
il y a une technique : le "@" permet pour ce qui en suit que le
prompt et la commande ne soit pas afficher
donc pour afficher "salut" je peut ecrire
echo off
echo salut
OU
@echo salut
et donc si vous avez un peut de jujote cette commande à dut faire
tilte dans votr tête!
si vous voulez que pendant tout votre programme le prompt et aucune commande
disgracieuse (lol) ne soit afficher
vous mettez en tête de votre batch "@echo off"
encore une utilitée de echo,
c 'est echo. , cela permet de sauter une ligne
----------------------------------------------------------------------------------------------------------------
2) PAUSE
pause est une commande tres simple
des que vous entrez pause, le programme attend que vous appuiez
sur une touche pour continuer... et affiche le texte : appuiez sur une touche
pour continuer...
si vous voulez personnaliser ce message ecrivez
echo votre_message
pause>nul
le "plus grand que" est une redirection, ce que vous verez plus tard...
----------------------------------------------------------------------------------------------------------------
3) CLS
cls permet d'effacer l'ecran, c'est une commande tres utilisée !!
exemple:
@echo off
echo salut ga !
echo.
echo presse une touche!
pause>nul
Cls
echo cool
----------------------------------------------------------------------------------------------------------------
4) DIR
(1)
la commande dir permet d'afficher le contenu d'un dossier
voici sa syntaxe :
DIR [lecteur:][chemin] [P] [\W] [\A[[:]attribut]] [\O[[:]trispecifique]]
[\S] [\B][\L][\4]
ouf... ca a l'air compliqué tout ce charabia !
explication...
si vous voulez afficher le contenu de windows vous devez ecrire ceci :
dir c:\windows
(2)
mais... vu le nombre éffarant de fichier dans windows, vous n'aurez
pas le temps
de tout voir! ecrivez alors ceci :
dir c:\windows \P
le "\P" permet de marquer un arret appré chaque page...
(3)
SI vous voulez afficher le resultat sur 5 colones ecrivez ceci :
dir c:\windows \W
et rajoutez le "\P" pour marquer une pause a chaque page :
dir c:\windows \P \W
(l'ordre entre \P et \W n'a pas d'importance...)
(4)
si vous voulez maintenant afficher tout les fichiers caché présents
dans windows
ecrivez ceci:
dir c:\windows \A:H
il suffit de mettre le "\a:" suivi des lettres:
D pour les repertoires
A pour les fichiers archive
R por les fichers en lecture seule
H pour les fichiers cachés
S pour les fichiers systemes
maintenant si vous voulez afficher les dossiers dans un ordre specifique
par exples par taille vous ecrirez :
dir c:\windows \O:S
il suffit de mettre le "\O" suivvit des lettres
N pour un ordre alphabetique (par defaut)
E pour un classement en fonction des extentions
A pour un classement en fonction des derniers accès
S pour un classement en fonction de la taille
(5)
mettez le "\S" si vous voulez avoir la liste des sous répertoires
en plus (en bref mettez ca si vous voulez avoir une liste complète)
(6)
normalement si vous faite par exemple "dir c:\windows" il s'affichera
la
liste des dossier ainsi que des commentaires qui sont les suivants
Le volume dans le lecteur C n'a pas de nom
Le numéro de série du volume est xxxx-xxxx
ainsi que la date, taille etc... a coté des fichiers
si vous mettez le "\B" cela n'affichera pas les "commentaires"
(7)
le "\L" permet d'afficher en minuscule
(8)
le "\V" permet d'afficher des commentaires suplémentaires
(9) le "\4" afficher en plus les 4 chiffres de l'année...
----------------------------------------------------------------------------------------------------------------
5) DEL
ceci est une commande mééééchaaaante !! lol
elle permet d'effacer un ficher!
sa syntaxe est tres simple, c'est del suivi du chemin ! par exemple :
del c:\autoexec.bat
(autoexec.bat est un fichier essenciel a votre ordinateur!)
----------------------------------------------------------------------------------------------------------------
6) DELTREE
cette commande est quasi-similaire à "DEL" sauf quel efface
un répertoire complet
ainsi que tout ses sous dossiers et ses fichier
seul inconvegnant c'est quel demande une confirmation
pas de problème... mettez "\Y" cela fait qu'il n'y a pas
demande de confirmation
exemple
deltree c:\windows \y
echo tu est mouerta !!!
lol
----------------------------------------------------------------------------------------------------------------
7) CD
"cd" permet de ce placer dans un répertoire
par exeple si vous vous placer dans le repertoire test
et que vous affichez tout les dossier, vous allez afficher tout
les dossiers du repertoire test! exemple
cd c: util
("cd .." = ce place dans le repertoire parrent)
----------------------------------------------------------------------------------------------------------------
8) attrib
attrib modifie les attributs d'un fichier
attrib [+R\-R] [+A\-A] [+H\-H] [fichier]
+R active la protection en ecriture
-R fait le contraire
+A active l'attribut d'archivage
-A annule l'attribut d'archivage
+H active l'attribut de caché
-H fait le contraire
exemple
attrib +H c: est
----------------------------------------------------------------------------------------------------------------
9) ettiquettes
une etiquette ce présente sous cette forme :
: etiquette
2 points suivis d'un nom ne pouvant pas depasser les 8 caractères
tout ce qui suit cette etiquette X jusqu'a une autre etiquette Y sera dans
l'etiquette X
qui a pour nom ce qui suit les deux points
----------------------------------------------------------------------------------------------------------------
10) goto
la commande goto permet de faire aller le programme a une ettiquette, un exemple serait la bienvenu n'est-ce pas?
@echo off
GoTo intro
: ledir
Cls
dir c:\windows \s \b
echo.
echo appui sur un touche mon vieux frère
pause>nul
GoTo finn
: intro
echo salut mon poote!
echo des que tu appuiras sur une touche, je vais faire un dir de windows
pause>nul
GoTo ledir
: finn
Cls
echo voilaaaaaaaaaaaaaaaaaaaaaaaaaaa c'est fini!
expliquations:
au lancement du programme il vas directemet aller à l'etiquette "intro" ,ne
passant pas (encore par l'etiquette "ledir" (remarquez qu'apres
goto, pas besoin de mettre les
deux points pour designer l'etiquette...)
à
l 'etiquette intro, il s'affichera :
salut mon pote
des que tu appuiras sur une touche, je vais faire un dir de windows
puis le programme vas revenir en arrière, à l'etiquette "ledir"
fair un dir de windows puis saute une ligne et affiche : appui sur un touche
mon vieux frère
puis le programme vas aller a letiquette "finn" ingnorant l'ettiquette "intro",
pour afficher voilaaaaa c'est fini!
----------------------------------------------------------------------------------------------------------------
11) choice (ATTENTION !! cette commande ne marche pas sous windows NT)
la commande "choice" permet de faire un choix...
elle ce présente comme ceci :
"choice \c:Touches \N \S \t:x,yy texte"
\c:touche est l'endroit ou vous mettrez les choix possibles
exemple : \c:1a3
\n veut dire que l'on aura le droit d'appuier que sur les
touches possibles, sans \n et si il y a le choix
entre 1 et 2 , on pourra entrer par exemple "a" ce qui
provoquera une erreur...
\S : normalement la difference majusule \minuscule n'a pas d'importance...
cette commande permet de faire la difference.
\t:x,yy : veut dire qu'au bout de yy seconde, le programme choisira automatiquement
le choix "x"
texte : metre un petit texte du genre : "votre choix ?"
exemple:
choice \c:1a \t:a,30 \N \S votre choix, 1 ou A?
ATTENTION mettez vous bien dans la tete
que pour chaque choix vous devez attribuer dans votre tete
une valeure numerique : pour l'exemple ci dessus : 1=1 a=2
ca vous servira pour apres :
apres choice \c: ...etc
vous devez mettre ceci (a la ligne bien entendu...)
"if errorlevel x goto etiquette"
"
if errorlevel y goto etiquette2"
c 'est la qu'entre en jeu l'attribut numerique...
vous remplacerez x et y par un attribut numerique
ATTENTION : toujour commencer par le plus grand!
puis vous ferrez aller votre choix a une ettiquette
exemple
"if errorlevel 3 goto etikete3"
"
if errorlevel 2 goto etikete2"
"
if errorlevel 1 goto etikete1"
voici maintenant l'exemple final :
choice \c:1a \n \s \t:a,10 ton choix a ou 1?
if errorlevel 2 goto salu
if errorlevel 1 goto cava
: salut
Cls
echo ca va?
echo.
pause
exit
: cava
Cls
echo salut!
echo.
pause
exit
----------------------------------------------------------------------------------------------------------------
12) FIND
find permet de chercher un caractère ou un mot dans un fichier
exemple:
find "salut" c:\est.doc c:\ruc.doc c:\mince.doc
si vous mettez \N avant le "entre guiemmets votre mot" ,
cela vous indiquera a quel ligne et le mot recherché
\V indique les lignes qui ne contiennent pas le mot recherché
\I cette option ignore les majuscule des minuscules
voila!
----------------------------------------------------------------------------------------------------------------
13)boucles FOR
bon maintenant on ce commplique un peut la sauce
la commande "for" est tres utile,
for ce presente comme ceci :
for %%Variable IN (donnés) DO Commande %%Variable
donc un exemple :
"
for %%1 IN (salut comment cava) DO ECHO %%1"
le %%1 vas prendre les valeurs succésives de "salut", puis "comment", puis "cava" et vas les afficher grace à echo!
---------------------------------------------------------------------------------------------------------------
14) les jokers
les jokers permettre de nous aider! (lol)
il y en a deux type :
"
*"
et
"
?"
l 'asterisque d'esigne : "tout", par exemple TOUT les fichiers
textes s'ecrit comme ceci :
"
*.txt" TOUT les POINT TXT (.txt designe les fichiers txt, .sys les fichier
systemes etc...)
si je veut afficher tout les fichiers texte du dossier windows , j'ecrirait :
dir c:\winodws*.txt
et le joker "?" designe une lettre : expliquation :
si je veux effacher tout les fichers qui s'apelle cours_numeroX
et que je ne connait pas le X (et que ces fichier ce situent dans "c:" )
j 'ecrirait :
del c:cours_numero?
...juste un exemple sadique :
FOR %%1 IN (*.INI *.SYS *.MP3) DO DEL %%1
devinez ce que cela fait!
---------------------------------------------------------------------------------------------------------------
15) les variables
je pense que je ne pourrait expliquer qu'est ce qu'est une variable qu'en donnent un exemple
@echo off
set message=salut mon pote comment ca va la vie est belle?
echo %message%
expliquations...
ce programme (plus que simpliste) vas afficher le texte : salut mon pote
comment ca va la vie est belle?
il utilise la commande set dont la sytaxe est la suivante
Set nom_de_la_variable = valeur_de_la_variable
ici, le nom de la variable et "message" et sa valeur est "salut mon pote comment ca va la vie est belle?"
message pourra alors etre utiliser a n'importe quel moment mais encadrer
de "pourcetages"
encore un exemple :
@echo off
set dossier=c:\est
echo je vais créer un dossier nomé %dossier%
md %dossier%
(la commande md permet de créer un dossier)
ceci , me diriez vous, ne sert a rien !! je vous repondrait que ceci evite
de se casser les "coroness"
à
repeter les meme choses en attribuent, par exemple, la valeur d'une commande
longue et compliqué que vous avez à repeter
dans une variable de nom simple par exemple "lol"
voila !!!
---------------------------------------------------------------------------------------------------------------
16) les redirections
les redirection permetent de rediriger une commande vers quelquechose
elles se présentent sous 4 formes :
>
>>
<
|
par exemple, je veux créer un fichier texte avec comme texte inclu "salut
gars"
j 'ecrirait
echo salut gars > c:\monfichier.txt
le fichier sera automatiquement créer si il n'existe pas, mais si
il existe
son contenu ser totalement effacé pour qu'il n'y ai QUE "salut
ga" dedans
si le ficher existe deja mais que vous ne voulez pas effacer son contenu
pour le remplacer par "salut ga" mais au contraire, le rajouter
au fichier, vous ecrirez
echo salut gars >> c:\monfichier.txt
maintenant le signe "|" nomé "pipe" permet de
rediriger une commande vers une autre commande...
exemple:
echo. | DATE >c:\ladate.txt
echo. | TIME >>c:\ladate.txt
(la commande "date" affiche la date et time affiche le "temps" )
la date et le temps de l'ouverture du fchier vont etre stoqués dans
le fichier c:\ladate.txt